import { ProtocolType } from '../core/interfaces';

export abstract class AbstractPlatform {
    public hasDriver(driverType: string): boolean {
        return false;
    }
    // 文件系统操作
    abstract readFile(path: string, encoding?: string): Promise<string>;
    abstract writeFile(path: string, content: string): Promise<void>;
    
    // 进程管理
    abstract execCommand(command: string): Promise<{ stdout: string, stderr: string }>;
    
    // 网络操作
    abstract httpRequest(url: string, options?: any): Promise<any>;
    
    // 平台识别
    abstract getPlatformType(): 'windows' | 'linux' | 'macos' | 'unknown';
    
    // 支持的协议类型
    abstract supportedProtocols(): ProtocolType[];
}